package br.net.atasacramental.membro.business;
import br.net.atasacramental.membro.dao.MembroDAO;
import br.net.atasacramental.membro.model.Membro;
import java.util.List;

import under.wsl.service.Service;
/**
 * @author root
 */
public class MembroBLL {
    private MembroDAO dao = null;
    public MembroBLL() {
        this.dao = new MembroDAO();
    }   
    @Service(cache=true)
    public List<Membro> get(){
        return this.dao.get();
    }
    public List<Membro> getByIdStatus(int idStatus){
        return this.dao.getByIdStatus(idStatus);
    }
    @Service(cache=true)
    public List<Membro> getAtivos(){
        return this.getByIdStatus(Membro.ATIVO);
    }
    @Service(cache=true)
    public List<Membro> getInativos(){
    	 return this.getByIdStatus(Membro.INATIVO);
    }
    @Service()
    public Membro getByIdMembro(int idMembro){
        return this.dao.getByIdMembro(idMembro);
    }
    @Service()
    public List<Membro> getByIdOrganizacao(int idOrganizacao){
        return this.dao.getByIdOrganizacao(idOrganizacao);
    }
    @Service(remove={"MembroBLL.get","MembroBLL.getAtivos","MembroBLL.getInativos"})
    public int insert(Membro men){
        this.dao.insert(men);
        return men.getIdMembro();
    }
    @Service(remove={"MembroBLL.get","MembroBLL.getAtivos","MembroBLL.getInativos"})
    public boolean update(Membro men){
    	//men.setIdStatus(Membro.ATIVO);
        return this.dao.update(men);
    }
    @Service(remove={"MembroBLL.get","MembroBLL.getAtivos","MembroBLL.getInativos"})
    public boolean delete(Membro men){
    	men.setIdStatus(Membro.INATIVO);
        return this.dao.update(men);
        //return true;
    }
}
